1. Field of the Invention
The present invention relates to a method for correcting a rotational position determination of the drive shaft of a commutated direct current (DC) motor by evaluating the current ripple contained in the armature current signal when missed ripples occur if no further current ripple is identified within a tolerance band surrounding a defined time point after the last detected current ripple.
2. Background Art
The armature current signal of a commuted direct current (DC) motor includes a direct component and a ripple component superimposed on the direct component. The ripple component arises when the DC motor operates as a consequence of the interaction of the magnet (field), the armature winding, and the commutator of the DC motor. This expresses itself in a short-term change in the induced voltage which produces the ripple component of the armature signal. The current peaks contained in the armature current signal—referred to below as current ripple—occur when the armature rotates. The current ripple has a frequency corresponding to the number of collector bars. For example, if the armature has ten collector bars then the armature current signal has ten identifiable current ripples.
Thus, the number of counted current ripples is indicative of the rotational position of the armature of the DC motor and is thus indicative of the position of the element (such as a window) being driven by the DC motor within a predetermined travel segment. The analog armature current signal is digitized to make it possible to count the current ripples.
However, during the operation of a DC motor, especially under load, it can happen that a current ripple contained in the armature current signal is distorted and is recognizable by two current peaks. These two current peaks are known as double ripples. When such an armature current signal is digitized, the distortion causes the current ripple signal to be recorded with two current ripples in this position instead of one current ripple. If these double ripples are counted then the determined position for the driven element will be erroneous. The same goes for the occurrence of a missed ripple. A missed ripple implies the absence of a current ripple when the shaft of the DC motor actually rotates. These errors are caused by the commutator, and thus are not easily eliminated by conditioning the armature current signal.
U.S. Pat. No. 6,144,179 discloses a measure according to which the counter result of the counted current ripples is only corrected for the absence of an expected current ripple if the current ripple is not identified within a tolerance band surrounding the time point that the current ripple is expected. The tolerance band is fixed. Thus, the disclosed process involves enlarging the calculated probable time point of the next commutation (current ripple) by the size of the specified tolerance band. The absence of a current ripple at or before the expected time point is only identified as a missed ripple if a current ripple also has not been detected within the tolerance band.
This process allows satisfactory ripple detection when the DC motor is in steady-state or quasi steady-state operation, and this ripple detection also provides corresponding correction of missed ripples or double ripples. If a current ripple is detected only later in time than the upper limit of the tolerance band then the system decides that there has been an erroneous absence of a current ripple and makes a corresponding correction in the counter result.
However, during the operation of a DC motor, operating states can occur in which the period length of a current ripple increases (or decreases) abruptly. Such an operating state in which the period length of a current ripple increases occurs, for example, if there is an abrupt increase in load torque. An abrupt increase in load torque may occur, for example, if the motor is operating against a stop. Because in such a situation the current ripple is detected only after the end of the tolerance band, the system may make a false correction in the counter result. Consequently, the position determined for the shaft and consequently, the driven element, will be incorrect. If such events repeat, the counter result becomes increasingly erroneous.